package com.example.qxfw.common.dmgis.open;

import com.dmgis.common.DmMapCom;
import com.dmgis.common.Rct;
import com.dmgis.layer.DmPrj;
import com.dmgis.work.LineWork;
import com.dmgis.work.VecWorkShop;
import com.example.qxfw.common.dmgis.constant.RctType;
import com.example.qxfw.common.util.DmgisUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class OpenProject {

    @Value("${dmgis.tempPath}")
    private  String tempPath;

    @Value("${dmgis.saveImgPath}")
    private  String saveImgPath;

    @Autowired
    private DmgisUtil dmgisUtil;

    /**
     * 工程出图
     * @param prjPath
     * @return
     */
    public  String projectImg(String prjPath){
        // 设置临时路径（必设）
        DmMapCom dmMapCom = new DmMapCom();
        dmMapCom.setTempPath(tempPath);

        //打开工程
        DmPrj prj=new DmPrj();
        boolean res = prj.OpenPrj(prjPath);

        //得到工程范围
        Rct rct = new Rct();
        prj.GetPrjRect(rct);

        return dmgisUtil.open(prj, rct,RctType.CAL,saveImgPath);
    }


    /**
     * 根据边框范围工程出图
     * @param prjPath
     * @param framePath
     * @return
     */
    public  String projectFrameImg(String prjPath,String framePath){
        // 设置临时路径（必设）
        DmMapCom dmMapCom = new DmMapCom();
        dmMapCom.setTempPath(tempPath);

        //打开工程
        DmPrj prj=new DmPrj();
        boolean res = prj.OpenPrj(prjPath);

        //依据边框得到出图范围
        VecWorkShop vecWorkShop = new VecWorkShop();
        short ai = vecWorkShop.OpenLineWork(framePath);
        LineWork lineWork = (LineWork)vecWorkShop.GetWorkByNo(ai);
        Rct rct = new Rct();
        lineWork.GetRect(rct);

        return dmgisUtil.open(prj, rct, RctType.CAL, saveImgPath);
    }


}
